// 引入DHT库
#include <DHT.h>

// 定义DHT11的类型和连接的引脚
#define DHTTYPE DHT11   // 传感器类型为DHT11
#define DHTPIN 2        // 数据引脚连接到Arduino的2号引脚

// 初始化DHT对象
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);   // 初始化串口通信，波特率9600
  dht.begin();          // 初始化DHT传感器
  Serial.println("DHT11温湿度传感器测试中...");
}

void loop() {
  // DHT11读取间隔建议大于2秒，否则可能读取失败
  delay(2000);

  // 读取湿度
  float humidity = dht.readHumidity();
  // 读取温度（摄氏度）
  float temperature = dht.readTemperature();

  // 检查是否读取失败
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("读取DHT11数据失败！");
    return;
  }

  // 打印读取到的数据
  Serial.print("湿度: ");
  Serial.print(humidity);
  Serial.print("%  ");
  Serial.print("温度: ");
  Serial.print(temperature);
  Serial.println("°C");
}